field.d               package:unknown                R Documentation

Description:

    Esta funo realiza a busca de datas em um data.table relacionado s mars 
referentes ao ano vigente (2019) seguindo os parmetros criados para esta funo,
que so, o primeiro dia que se pretende ir coletar, o ms e o ano. Assim, todos os
parmetros desta funo so obrigatrios. Aps a funo encontrar as melhores datas
de acordo com a mar solicitada pelo usurio, a funo retorna um objeto contendo as 
datas  serem coletadas de acordo com a mar informada. 

Usage:

     field.d(dia=NULL, mare=NULL, dias=NULL, intervalo=FALSE, previsoes)

Arguments:

	dia: um objeto do tipo "data" com formatao (%d/%m/%y) que ir informar 
funo qual a unica data ou data inicial de um perodo que se deseja ir coletar;

	mare: um objeto do tipo ""numeric" com uma casa decimal, indo de 0.0 at 0.7. Esse
objeto ir informar  funo qual  o nvel de mar ou inferior desejada pelo usurio para ir coletar os dados.
	
	dias: um objeto do tipo "numeric" relacionado  quantidade de dias que o usurio deseje 
permanecer coletando. Os dias precisam ser > 1.

	intervalo: um objeto do tipo "logical" relacionado ao objeto dias. Se o usurio inserir TRUE
signigica que ele deseja quantidade de dias sequencias, caso seja inserido FALSE, o usurio deseja que a 
funo lhe d dias alternados de coleta, dependendo apenas do valor da mar.

	previso:  um objeto do tipo "data.frame" com extenso .csv relacionado  dados de mar do ano de 2019 referente a regio
Norte do Estado de So Paulo (de So Sebastio at Ubatuba) contendo 4 colunas (dia/ms/ano/mare). Este data.table ser disponibilizado
aos usurios para que estes possam consultar o banco de dados para utilizarem a funo.

Details:

    Parmetros incorretos na verificao de cada um dos parmetros descritos acima
provocam mensagens de erro ser gerada e a parada na execuo da funo.
	
	dia: #Se o usurio no informar um valor para o parametro dia, uma mensagem de aviso ser gerada:
	     	"Por favor, informe um valor pro parametro 'dia'."
	     #E se a classe do argumento dia no for Date, p.ex. character, uma mensagem de aviso ser gerada:
	     	"O valor de 'dia` tem que ser do tipo Date." 
	mare: #Se o usurio no informar um valor para o parametro mare, uma mensagem de aviso ser gerada:
		"Por favor, informe um valor de 'mare'."
	     #Se a classe do parametro mare no for numeric, uma mensagem de aviso ser gerada:
		"O valor de 'mare' tem que ser numerico."
	     #Caso o usurio inserir um dado invlido de mar sendo menor que 0.0 ou maior que 0.7, uma mensagem de aviso ser gerada:
	        "Valor de 'mare' invalido."
	intervalo: #Se o usurio no informar um valor para o parametro intervalo, uma mensagem de aviso ser gerada:
			"Por favor, informe um valor para o parametro 'intervalo'
		   #Caso o usurio inserir outra classe que no seja a logical, uma mensagem de aviso ser gerada:
			"O valor de 'intervalo' tem que ser logical."
	dias: #Se o usurio no informar a quantidade de dias os quais pretende ir coletar os dados, uma mensagem de aviso ser gerada:
	      		"Por favor, informe um valor pro parametro 'dias'."
	      #Caso o usurio inserir outra classe que no seja a numeric, uma mensagem de aviso ser gerada:
	      		"O valor de 'dias' tem que ser numerico."
	previsoes: #Caso o usurio informe outro data.frame no sendo referente ao da tabua_mar, uma mensagem de aviso ser gerada:
		   	"Por favor, informe o data frame com as previsoes de mare."
	           #Caso o usurio inserir outra classe que no seja um data.frame, uma mensagem de aviso ser gerada:
			"O valor de 'previsoes' tem que ser data.frame."
		   #Caso o usurio no informe as colunas solicitadas pelo data.frame e pela funo, uma mensagem de aviso ser gerada:
			"Existem colunas faltando no data frame 'previsoes' passado."

Value:

	controle_dias <- 0 - A partir do primeiro dia coletado pela funo, este objeto passa a conter a primeira data vivel.
	controle_dias <- controle_dias + 1 - Aps a adeso de outra data.
	controle_data <- dia - objeto criado para organizar o dia que se est buscando
	dias.esc = c() <- objeto final contendo todas as datas viveis de acordo com o estimado pelo usurio.
	

     

Warning:

	O data.table o qual rodar a funo field.d  apenas referente ao ano vigente de 2019. 
	D preferncia por incluir uma quantidade de dias que seja plausvel de coleta, que no saia da 
realidade.
	Se o usurio selecionou intervalo = FALSE e mais de um dia, e neste conjunto de dias, um destes dias no apresentar
a mar referente ao solicitado no inicio da funo, a funo para e zera os valores de controle_dias e dias_esc.
	O data.table tabua_mar foi adaptado do arquivo da Tabua de Mar de So Sebastio/SP, fornecido gratuitamente pela
Marinha do Brasil, a qual no se encontra em formato adequado para a leitura do mesmo pelo software R.


Author(s):

     Bruno Lenhaverde Sandy
	e-mail: brunosandy@usp.br

References:

     Dados de Mar | Centro de Hidrografia da Marinha do Brasil

	Tbua de Mar | Estado de So Paulo | Porto de So Sebastio

	Localizao Latitude: 23 48' 6" S Longitude: 45 23' 9" W

		https://www.marinha.mil.br/chm/tabuas-de-mare

			https://www.marinha.mil.br/chm/sites/www.marinha.mil.br.chm/files/dados_de_mare/sao_sebastiao_2019.pdf

 Escolha do municpio de Ubatuba como local de estudo => Coutinho et. al. 2016

Examples:
	Primeiramente, leia a funo completa para depois submeter os argumentos.

	#1. Para dias aleatorios;
	dia <- as.Date("29/09/19", format="%d/%m/%y")
	previsoes <- read.csv("tabua_mare.csv", header = TRUE, sep = ",", dec = ".", as.is = TRUE)
	dias_esc <- field.d(dia, 0.3, 5, FALSE, previsoes)
	dias_esc

	#2. Para dias sequenciais;
	dia <- as.Date("11/03/19", format="%d/%m/%y")
	previsoes <- read.csv("tabua_mare.csv", header = TRUE, sep = ",", dec = ".", as.is = TRUE)
	dias_esc <- field.d(dia, 0.2, 3, TRUE, previsoes)